﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Dora.Tools.Insurance.AYB.Dto
{
    /// <summary>
    /// 安游保 投保数据结构
    /// </summary>
    public class ApplyRequestDto : AYB_RequestBaseDto
    {
        /// <summary>
        /// 投保数据
        /// </summary>
        public ApplyInfoData data { get; set; }
    }
    /// <summary>
    /// 投保数据
    /// </summary>
    public class ApplyInfoData
    {
        /// <summary>
        /// 投保基础信息 必填
        /// </summary>
        public BaseDataInfo base_info { get; set; }
        /// <summary>
        /// 投保人信息 必填
        /// </summary>
        public HolderDataInfo holder_info { get; set; }

        /// <summary>
        /// 被保人信息，支持一个或多个被保人  必填
        /// </summary>
        public List<InsurantDataInfo> insurant_info { get; set; }
    }

    /// <summary>
    /// 投保基础信息
    /// </summary>
    public class BaseDataInfo
    {
        /// <summary>
        ///  产品ID 必填
        ///  示例：5
        /// </summary>
        public string product_id { get; set; }
        /// <summary>
        ///  第三方唯一流水编号（订单号，需要保证唯一性可使用UUID）  必填
        ///  对于不同的投保请求，biz_order_sn必须不同！
        ///  示例：5a39fc9e3ff0980f00220abe
        /// </summary>
        public string biz_order_sn { get; set; }
        /// <summary>
        ///  保险期间（单位：天） 必填
        ///  示例：1
        /// </summary>
        public string period { get; set; }
        /// <summary>
        ///  起保时间 yyyy-MM-dd HH:mm:ss   必填
        ///  示例：2018-06-06 00:00:00
        /// </summary>
        public string begin_datetime { get; set; }
        /// <summary>
        /// 止保时间 yyyy-MM-dd HHmmss   必填
        /// 示例：2018-06-06 23:59:59
        /// </summary>
        public string end_datetime { get; set; }
        /// <summary>
        ///  旅行目的地（部分产品必传，如有多个目的地请用逗号隔开）  非必填
        ///  示例：法国/FRANCE,意大利/ITALY
        /// </summary>
        public string tour_name { get; set; }
        /// <summary>
        /// 团号   非必填
        ///  示例：1团
        /// </summary>
        public string tour_code { get; set; }
    }

    /// <summary>
    /// 投保人信息
    /// </summary>
    public class HolderDataInfo
    {
        /// <summary>
        ///  证件类型 I:身份证,P:护照,C:公司营业执照,O:其他   必填
        ///  示例：P
        /// </summary>
        public string cert_type { get; set; }
        /// <summary>
        ///  证件号码（如果证件类型为公司，请填营业执照号码）   必填
        ///  示例：110101198808087916
        /// </summary>
        public string cert_code { get; set; }
        /// <summary>
        ///  姓名（如果证件类型为公司，请填公司全称）   必填
        ///  示例：张三/XXX有限公司
        /// </summary>
        public string name { get; set; }
        /// <summary>
        ///  性别 M:男,F:女（个人必填）   非必填
        ///  示例：
        /// </summary>
        public string gender { get; set; }
        /// <summary>
        ///  出生日期 （证件类型为公司时非必填，其他情况出生日期必填且投保人年龄必需在18-60周岁）   非必填
        ///  示例：1988-08-08
        /// </summary>
        public string birthday { get; set; }
        /// <summary>
        ///  投保人手机号（部分产品必传）   非必填
        ///  示例：13112345678
        /// </summary>
        public string mobile { get; set; }
        /// <summary>
        ///  投保人邮箱（部分产品必传）   非必填
        ///  示例：13112345678@qq.com
        /// </summary>
        public string email { get; set; }
    }

    /// <summary>
    /// 被保人信息
    /// </summary>
    public class InsurantDataInfo
    {
        /// <summary>
        ///  姓名   必填
        ///  示例：张三
        /// </summary>
        public string name { get; set; }
        /// <summary>
        ///  性别 M:男,F:女    必填
        ///  示例：M
        /// </summary>
        public string gender { get; set; }
        /// <summary>
        ///  证件类型 I:身份证,P:护照,O:其他    必填
        ///  示例：I
        /// </summary>
        public string cert_type { get; set; }
        /// <summary>
        ///  证件号码    必填
        ///  示例：110101198808087916
        /// </summary>
        public string cert_code { get; set; }
        /// <summary>
        /// 出生日期     必填
        ///  示例：1988-08-08
        /// </summary>
        public string birthday { get; set; }
        /// <summary>
        ///  被保人手机号（部分产品必传）    非必填
        ///  示例：13112345678
        /// </summary>
        public string mobile { get; set; }
        /// <summary>
        ///  被保人邮箱（部分产品必传）    非必填
        ///  示例：	13112345678@qq.com
        /// </summary>
        public string email { get; set; }
    }
}
